package com.health.system.springSecurity;

import com.health.system.javacommon.util.EncodeDecodeUtil;

import org.springframework.dao.DataAccessException;
import org.springframework.security.authentication.encoding.PasswordEncoder;

/**
 * 密码加密
 * 
 * 
 */
public class MyPasswordEncoder implements PasswordEncoder {

	/**
	 * 加密
	 * 
	 * @param userPassword
	 *            用户密码
	 * @param salt
	 *            盐值
	 * @return 加密后的字符串
	 */
	public String encodePassword(String userPassword, Object salt)
			throws DataAccessException {
		String encode = null;
		try {
			encode = EncodeDecodeUtil.base64Encode(userPassword);
		} catch (Exception e) {
		}
		return encode;
	}

	/**
	 * 
	 * 
	 * @param dataPassword
	 *            用户数据库中加密的密码
	 * @param userPassword
	 *            用户请求中的明文的密码
	 * @param salt
	 *            盐值
	 * @return 密码是否正确
	 */
	public boolean isPasswordValid(String dataPassword, String userPassword,
			Object salt) throws DataAccessException {
		return dataPassword.equals(encodePassword(userPassword, salt));
	}

}
